﻿// K-Anonymous Sequence POJ - 3709.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//https://vjudge.csgrandeur.cn/problem/POJ-3709

#include <iostream>

/*
各种应用领域中爆炸性增长的网络数据引发了对相关个人隐私的关注。最近的研究表明，仅仅在发布图/社交网络数据前删除节点身份并不能保证隐私。
图本身的结构及其基本形式--节点度--会泄露个人身份。

为了解决这个问题，我们研究了一个特定的图匿名化问题。
如果对于每个节点 v，图中至少存在 k-1 个与 v 具有相同度数的其他节点，我们就称该图为 k 匿名图。

我们简化问题。从整个图 G 中挑选 n 个节点，按升序列出它们的度数。如果对于每个元素 s，序列中至少有 k-1 个元素与 s 相同，我们就定义序列为 k 匿名。
例如，序列 2, 2, 3, 4, 4, 5, 5，k=3，可以修改为 2, 2, 2, 4, 4, 4, 4，满足 3- 匿名性质，修改的代价为 |3-2|+|5-4|+|5-4|=3。
给定一个由 n 个按升序排列的数字和 k 组成的序列，我们想知道在所有能将序列调整为 k 匿名的修改中，哪个修改的代价最小。

输入
输入文件的第一行包含一个整数 T（1 ≤ T ≤ 20）--输入文件中的测试次数。每个测试以一行开始，其中包含两个数字 n（2 ≤ n ≤ 500000）--序列中的数字量和 k（2 ≤ k ≤ n）。
其后是一行 n 个整数--升序排列的度数序列。序列中的每个数字 s 都在 [0, 500000] 范围内。

输出
对于每个测试，输出一行包含一个整数--最小代价。
*/
int main()
{
    std::cout << "Hello World!\n";
}

 